package com.shanzhe.eshop.wms.service;

import com.shanzhe.eshop.order.pojo.OrderDTO;
import com.shanzhe.eshop.wms.pojo.SaleDeliveryOrderDTO;
import com.shanzhe.eshop.wms.pojo.PurchaseInputOrderDTO;
import com.shanzhe.eshop.wms.pojo.ReturnGoodsInputDTO;

/**
 * @Author yinwei
 * @create 2021/9/26
 * @Version 1.0
 * @desc wms(采购)中心对外提供接口
 */
public interface WmsFacadeService {

    /**
     * 创建采购入库单
     * @param purchaseInputOrderDTO 创建采购入库单实体参数
     * @return Boolean 处理结果
     */
    Boolean createPurchaseInputOrder(PurchaseInputOrderDTO purchaseInputOrderDTO);

    /**
     * 创建销售出库单
     * @param deliveryOrderDTO 创建销售出库单实体参数
     * @return Boolean 处理结果
     */
    Boolean createSaleDeliveryOrder(SaleDeliveryOrderDTO deliveryOrderDTO);

    /**
     * 创建退库入库单
     * @param returnGoodsInputDTO 创建退库入库单实体参数
     * @return Boolean 处理结果
     */
    Boolean createReturnGoodsInputOrder(ReturnGoodsInputDTO returnGoodsInputDTO);

    /**
     * 通知wms中心提交订单事件发生了
     * @param orderDTO 订单实体
     * @return Boolean 处理结果
     */
    Boolean informSubmitOrderEvent(OrderDTO orderDTO);

    /**
     * 通知wms中心支付订单事件发生了
     * @param orderDTO 订单实体
     * @return Boolean 处理结果
     */
    Boolean informPayOrderEvent(OrderDTO orderDTO);

    /**
     * 通知wms中心取消订单事件发生了
     * @param orderDTO 订单实体
     * @return Boolean 处理结果
     */
    Boolean informCancelOrderEvent(OrderDTO orderDTO);
}
